
package Controlador;

import Modelo.Listas;
import Modelo.Vigilantes;
import Vista.JFrameVigilantes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;


public class ControladorVigilantes implements ActionListener
{
   private JFrameVigilantes formVigilantes;
   private Listas LisVigi;

   //Validaciones
    public ControladorVigilantes(Listas LisEmpresa)
    {
        LisVigi=LisEmpresa;  
        
        formVigilantes=new JFrameVigilantes();
        formVigilantes.agregarListener(this);
        formVigilantes.setVisible(true);
    }

    //Botones
    @Override
    public void actionPerformed(ActionEvent e) 
    {
       if (e.getSource().equals(formVigilantes.getBtnConsultar())) 
       {
          new ControladorConsulVigilantes(LisVigi);
          Limpiar();
       } 
       
       if(e.getSource().equals(formVigilantes.getBtnGrabar())){
           this.Grabar();
       }
            
       if(e.getSource().equals(formVigilantes.getBtnCancelar())){
           this.Limpiar();
       }
 
    }

    public void Grabar()
    {
        String Cadena;
        Vigilantes vigi;

        Cadena=formVigilantes.getTxtCedulaVigilante().getText();
        if (Cadena.length()==0)
        {  
          //Mensajes.Aviso("Cedula Vacia", "");  
          formVigilantes.getTxtCedulaVigilante().requestFocusInWindow();
          return;
        }  

        Cadena=formVigilantes.getTxtNombreVigilante().getText();
        if (Cadena.length()==0)
          {  
            //Mensajes.Aviso("Nombre Vacio", "");  
            formVigilantes.getTxtNombreVigilante().requestFocusInWindow();
            return;
          }

         Cadena=formVigilantes.getTxtTelefonoVigilante().getText();
         if (Cadena.length()==0)
          {  
            //Mensajes.Aviso("Direccion Vacia ", "");  
            formVigilantes.getTxtTelefonoVigilante().requestFocusInWindow();
            return;
          }

         Cadena=formVigilantes.getTxtDireccionVigilante().getText();
         if (Cadena.length()==0)
          {  
            //Mensajes.Aviso("Direccion Vacia ", "");  
            formVigilantes.getTxtDireccionVigilante().requestFocusInWindow();
            return;
          }
           
           String ruta = System.getProperty("user.dir")+"/src/Archivos/Vigilantes.txt";

           try {
               vigi = new Vigilantes();
               vigi.Vigilantes(formVigilantes.getTxtCedulaVigilante().getText(),
                       formVigilantes.getTxtNombreVigilante().getText(),
                       formVigilantes.getTxtTelefonoVigilante().getText(),
                       formVigilantes.getTxtDireccionVigilante().getText(), true);
               
               Cadena=formVigilantes.getTxtCedulaVigilante().getText();
               int Posi=LisVigi.ExisteVigilante(Cadena);
               
               //GRABAR
               if (Posi==-1){
                   LisVigi.getListaVigilantes().add(vigi);

               } else{ //MODIFICAR
                    int resp;    
                    resp = JOptionPane.showConfirmDialog(null,"El vigilante ya existe, desea modificarlo?");
                    if(resp == 0){
                        LisVigi.getListaVigilantes().set(Posi,vigi);
                    }   
               }
               Limpiar();
           }catch (Exception e) {
               JOptionPane.showMessageDialog(null, "Ha sucedido un error" + e);
           }
    }
    
    public void Limpiar(){
        formVigilantes.getTxtCedulaVigilante().setText("");
        formVigilantes.getTxtNombreVigilante().setText("");
        formVigilantes.getTxtTelefonoVigilante().setText("");
        formVigilantes.getTxtDireccionVigilante().setText("");
    }
}
